Verification Process of Behavioral Consistency between Design and Implementation programs of pSET using HW-CBMC
نویسندگان
چکیده
Controllers in safety critical systems such as nuclear power plants often use Function Block Diagrams (FBDs) to design embedded software. The design is implemented using programming languages such as C to compile it into particular target hardware. The implementation must have the same behavior with the design and the behavior should be verified explicitly. For example, the pSET (POSAFE-Q Software Engineering Tool) [1] is a loader software to program POSAFE-Q PLC (Programmable Logic Controller) and is developed as a part of the KNICS (Korea Nuclear Instrumentation & Control System R&D Center) [2] project. It uses FBDs to design software of PLC, and generates ANSI-C code to compile it into specific machine code. To verify the equivalence between the FBDs and ANSI-C code, mathematical proof of code generator or a verification tools such as RETRANS [3] can help guarantee the equivalence. Mathematical proof, however, has a weakness that requires high expenditure and repetitive fulfillment whenever the translator is modified. On the other hand, RETRANS reconstructs the generated source code without consideration of the generator. It has also a weakness that the reconstruction of generated code needs additional analysis This paper introduces verification process of behavioral consistency between design and its implementation of the pSET using the HW-CBMC [4]. The HW-CBMC is a formal verification tool, verifying equivalence between hardware and software description. It requires two inputs for checking equivalence, Verilog for hardware and ANSI-C for software. In this approach, FBDs are translated into semantically equivalent Verilog program [5], and the HW-CBMC verifies equivalence between the Verilog program and the ANSI-C program which is generated from the FBDs.
منابع مشابه
A systematic verification of behavioral consistency between FBD design and ANSI-C implementation using HW-CBMC
Controllers in safety critical systems such as nuclear power plants often use the Function Block Diagram (FBD) to design software embedded in the PLC (Programmable Logic Controller). Software engineers develop FBD programs manually, while engineering tools provided by PLC vendors translate them into ANSI-C programs mechanically. Every new PLC and its software engineering tool should demonstrate...
متن کاملEquivalence Checking between Function Block Diagrams and C Programs Using HW-CBMC
Controllers in safety critical systems such as nuclear power plants often use Function Block Diagrams (FBDs) to design embedded software. The design program are translated into programming languages such as C to compile it into machine code for particular target hardware. It is required to verify equivalence between the design and the implementation, because the implemented program should have ...
متن کاملEquivalence Checking of a Floating-Point Unit Against a High-Level C Model
Semiconductor companies have increasingly adopted a methodology that starts with a system-level design specification in C/C++/SystemC. This model is extensively simulated to ensure correct functionality and performance. Later, a Register Transfer Level (RTL) implementation is created in Verilog, either manually by a designer or automatically by a high-level synthesis tool. It is essential to ch...
متن کاملEquivalence Checking a Floating-point Unit against a High-level C Model (Extended Version)
Semiconductor companies have increasingly adopted a methodology that starts with a system-level design specification in C/C++/SystemC. This model is extensively simulated to ensure correct functionality and performance. Later, a Register Transfer Level (RTL) implementation is created in Verilog, either manually by a designer or automatically by a high-level synthesis tool. It is essential to ch...
متن کاملEquivalence Checking between Pre-synthesis and Post-synthesis Programs by Using VIS
PLC (Programmable Logic Controller) [1] has been widely used to implement real-time Software in PRSs (Reactor Protection Systems). Recently, there have been attempts to implement software in RPSs by using FPGA (Field-Programmable Gate Array) [2]. In PLC-based Software development, the design programs are translated into implementation programs, and behavioral equivalence between the design and ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011